Various HTTP authentication schemes have been developed to permit Internet applications such as web browsers to validate credentials at web servers. The HTTP authentication schemes provide a means for clients and servers to identify a common authentication protocol that they both support and to identify the type of credentials needed for server access.
The HTTP authentication schemes are commonly used within an HTTP authentication mechanism that provides a framework for the HTTP authentication schemes. One commonly used HTTP authentication mechanism is the Simple and Protected Negotiation (SPNEGO) mechanism. SPNEGO enables client computers to determine whether their credentials are supported on the server computer they wish to access. SPNEGO supports the Negotiate HTTP authentication scheme. However, the Negotiate HTTP authentication scheme supports a limited number of authentication protocols and limits the type of credentials that may be used for authentication.
Newer HTTP authentication schemes now exist that provide for additional authentication protocols and capabilities. However, not all clients and servers support the newer authentication schemes. Further, clients and servers that support the newer schemes often are not aware of what scheme is supported when they initiate HTTP authentication.